home *** CD-ROM | disk | FTP | other *** search
- 0660102020166
- 1volksFORTH-83 für Atari
- 2Seite #
- 9[....................................................]
- üGettingstarted...Ç
-
- UmüvolksFORTH-83Çvollständignutzenzukönnen,solltenSiedieses
- Handbuchsorgfältigstudieren.DamitSiemöglichstschnell
- einsteigenkönnen,werdenwirindiesemKapitelbeschreiben,
-
- -wiemanmitdenDiskettenumgeht
- -wiemandasSystemstartet
- -wiemaneinefertigeApplikationerstellt.
- -wiemaneineigenesArbeitssystemzusammenstellt
-
- ü
- UmgangmitdenDisketten
- Ç
- ZuIhremHandbuchhabenSiedreiDiskettenerhalten.FertigenSie
- êaufjedenFallÇSicherheitskopienvondiesenDiskettenan.Die
- GefahreinesDatenverlustesistgroß,daFORTHIhneninjeder
- HinsichtfreieHandläßt-auchbeimversehentlichenLöschenIhrer
- Systemdisketten!!AufdereinenDiskettebefindensichdie
- Programme4TH.PRG,undFORTHKER.PRGsowieeinOrdnermit
- TextdokumentenunddasDemoprogramm'Supercopy'.DieseDiskette
- wirdimFolgendenSystemdiskettegenannt.
-
- 4TH.PRGistdasnormaleArbeitssystem,FORTHKER.PRGeine
- Minimalversion,dienurdenSprachkernenthält.DamitkönnenSie
- eigeneFORTH-Versionenz.B.miteinemverändertenEditoroder
- andererGraphiczusammenstellenundmitüSAVESYSTEÇMalsfertiges
- Systemabspeichern.IndergleichenArtkönnenSieauchfertige
- Applikationenherstellen,denenmanihre'FORTH-Abstammung'nicht
- mehransieht(einBeispieldazuistSUPERCOPYaufIhrer
- Systemdiskette.)4TH.PRGisteinkomplettesArbeitsssystemmit
- Fileinterface,Editor,Assembler,Tools,usw.
-
- DiebeidenanderenDiskettenenthaltenalleweiterenQuelltexte
- desSystems.EinVerzeichniserhaltenSiemitüFILESÇ(analogzu
- üWORDSÇ).BeidemFileFORTH_83.SCRhandeltessichumdenQuelltext
- desSprachkerns.EbendieserQuelltextistmiteinemTarget-
- Compilerkompiliertwordenundentsprichtexaktdem
- FORTHKER.PRG.ImFileSTARTUP.SCRgibteseinenLoadscreen,der
- alleTeilekompiliert,diezu4TH.PRGgehören.Mitdiesem
- LoadscreenistausFORTHKER.PRGdasFile4TH.PRGkompiliert
- worden.
-
-
- üErsterEinstieg
- Ç
- LegenSiedieSystemdisketteinLaufwerkB,dieQuelltextdiskette
- Files2inLaufwerkA.(BeimArbeitenmiteinemLaufwerkwerden
- SieandenentsprechendenStellenzumWechselnderDiskette
- aufgefordert.)LadenSie4TH.PRGwieüblichdurchAnklickenmit
- derMaus.üvolksFORTH-83Çmeldetsichnunmiteiner
- Einschaltmeldung,diedieVersionsnummerenthält.
-
- GebenSiejetztein:
-
- üusetutorial.scrÇ<Return>ü
- 0lÇ<Return>
-
- AufdieAufforderung'EnteryourID:'antwortenSiezunächstmit
- <Return>.SiebefindensichjetztimEditorundkönnensichdiesen
- unddiefolgendenScreensansehenunddabeidenerstenUmgangmit
- demEditorerlernen.DerEditorläuftkomplettuntereinerGEM-
- Umgebung,sodaßsichAnleitungenerübrigen.(Trotzdemfinden
- SieeinigeErklärungenimFileEDITOR.DOC)ProbierenSieeinwenig
- herumundverlassenSiedanndenEditor,z.B.mit<Esc>.
-
- Siekönnensichjetztz.B.dieGraphik-Demosansehen.Siebefinden
- sichaufderselbenDiskette.Zusätzlichwirdallerdingsnochder
- AssemblervonDisketteFiles1gebraucht.LegenSiealsodiese
- DisketteanstellederSystemdisketteinLaufwerkB.GebenSieein
-
- üincludedemo.scrÇ<Return>ü
- Ç
- DasLaufwerkläuftan,Siesehenzuerst,welcheScreensgerade
- kompiliertwerdenunddanneinigeGraphic-Beispiele.Nachjedem
- BildkönnenSiemiteinerbeliebigenTasteweitermachenodermit
- <ESC>abbrechen.
-
- WirwollenjetzteinigeeigeneWortekompilierenunddazuein
- neuesQuelltextfileanlegen.LegenSiedazueineneueDiskettein
- LaufwerkAein.GebenSiedannein:
-
- ümakefilefirst.scr2moreÇ<Return>
-
- SieerzeugendamiteinFilenamensFIRST.SCRmiteinerLängevon
- 2Blöcken(2048Byte),bestehendausScreen0und1.Umeinige
- DefinitionenaufScreen1zuschreiben,rufenSiedenEditorauf
- mit
-
- ü1lÇ<Return>
-
- InderoberstenZeileeinesScreensstehttypischerweiseeine
- Kurzbeschreibungdessen,wasderScreenenthält.(MitdemWort
- INDEXerhältmansoeinInhaltsverzeichnisdesFiles.)Schreiben
- Siealso
-
- \MeinerstesFORTH-Programm
-
- Der\(Backslash)sorgtdafür,daßdieseZeilenichtkompiliert
- wird,sondernalsKommentaraufgefaßtwird.VielleichtistIhnen
- auchbereitsaufgefallen,daßbeiunserenQuelltexteninder
- oberenrechtenEckeDatumundAutorderletztenÄnderungvermerkt
- sind.DieseKennungerzeugtderEditorautomatisch,wennbeim
- erstenAufrufeineIDangegebenwurde.SiekönnenIhreIDjedoch
- auchnachträglichsetzen,wennSiedieTastenkombinationCTRL-G
- drücken.
-
- DiezweiteZeiledesScreensbleibtfrei,inderdritten
- definierenwir:
-
- :test."Dasistmeinerstes'Programm'.";
-
- VerlassenSienundenEditormitCTRL-S.Dabeiwirdder-
- inzwischenjaveränderte-ScreenaufDiskettezurückgeschrieben.
- NunrufenwirdenCompileraufmit
-
- ü 1loadÇ<Return>
-
- Mitfür'C'-oderPascal-Programmiererunvorstellbarer
- GeschwindigkeitwirdunserMini-Programmkompiliertundsteht
- jetztzurAusführungbereit.GebenSieeinmalWORDSein,dann
- werdenSiefeststellen,daßIhrneuesWortTESTganzobenim
- Dictionarysteht.UmdasErgebnisunseresersten
- Programmierversuchszuüberprüfen,gebenwirnunein:
-
- ütestÇ<Return>
-
- undsieheda,estutsichetwas.Schönerwäreesallerdings,wenn
- derSatzaufeinerneuenZeilebeginnenwürde.Umdieszuändern,
- werfenwirersteinmaldasalteWortTESTweg.
-
- üforgettest
-
- ÇNunrufenwirerneutdenEditoraufmitv.VordemStringfügen
- wireinCReinundkompilierenwiegehabt.
-
- :testcr."Dasistmeinerstes'Programm'.";
-
- UnsereÄnderungerweistsichalserfolgreich,undSiehaben
- gelernt,wieeinfachinFORTHdasSchreiben,AustestenundÄndern
- vonProgrammteilenist.
-
-
- üHerstellungeinerApplikation
-
- ÇWirwollenunser'Programm'nunalseigenständigeApplikation
- abspeichern.Dazuerweiternwireszunächsteinkleinwenig
- (Editormitvaufrufen.)FÜgenSienunnochfolgendeDefinitionin
- einerneuenZeilehinzu:
-
- :runalonetestkeydropbye;
-
- RUNALONEführtzuerstTESTaus,wartetdannaufeineTasteund
- kehrtzumDesktopzurück.KompilierenSienunerneut,führenSie
- RUNALONEabernichtaus,sonstwürdenwirjaFORTHverlassen.Das
- Problembestehtvielmehrdarin,dasSystemsoabzuspeichern,daß
- esgleichnachdemLadenRUNALONEausführtundsonstgarnichts.
-
- volksFORTH-83istanzweiStellenfürsolcheZweckevorbereitet.
- IndenWortenCOLDundRESTARTbefindensichzwei'deferred
- words'namens'COLDbzw.'RESTART,dieimNormalfallnichts
- tun,vomAnwenderabernachträglichverändertwerdenkönnen.Wir
- benutzenhier'COLD,umauchschondieStartmeldungzu
- unterbinden.
-
- GebenSiealsoein
-
- ü 'runaloneIs'coldÇ<Return>
-
- undspeichernSiedasGanzemit
-
- üsavesystemmyprog.prg
-
- ÇaufDiskettezurück.VerlassenSieFORTHnunmitBYE,undladen
- SieMYPROG.PRG.SiehabenIhreersteApplikationerstellt.
-
- Etwasenttäuschendistesaberschon.Dasangeblichsokompakte
- FORTHbenötigtüber40kByte,umeinenlächerlichenString
- auszugeben??Dastimmtdochetwasnicht.Natürlich,wirhabenja
- eineReiheSystemteilemitabgespeichert,vomFileinterfaceüber
- denAssembler,diehalbeGEM-Bibliothek,denEditorusw.,diefür
- unserProgrammüberhauptnichtbenötigtwerden.
-
- UmdiesesundähnlicheProblemezulösen,gibtesdasFile
- FORTHKER.PRG.DiesesProgrammenthältnurdenSystemkernunddas
- Fileinterface.LadenSiealsoFORTHKER.PRGundkompilierenSie
- IhreApplikationmit
-
- ü includefirst.scrÇ
-
- Dannwiegehabt,RUNALONEin'COLDpatchenunddasSystemauf
- Diskettezurückspeichern.Siehabenjetzteineverhältnismäßig
- kompakteVersionvorliegen.Natürlichließesichauchdiesenoch
- erheblichkürzen,aberdafürbräuchtenSieeinenTarget-Compiler,
- mitdemSienurnochdiewirklichbenötigtenSystemteileselektiv
- ausdemQuelltextzusammenstellenkönnten.Mitderbeschriebenen
- MethodelassensichaberauchgrößereProgrammekompilierenund
- alsStand-alone-Applikationenabspeichern.
-
-
- üFürFortgeschrittene
-
- ÇMankannallerdingsohneTarget-Compilerauskommen,wennmanauf
- dasFile-Interface,dasca.4KBytebelegt,verzichtenkann.Dazu
- mußmanzunächsteineFORTH-VersionohneFileinterfaceherstellen.
- LadenSiedazuFORTHKER.PRGundgebenSieein:
-
- ü'blk@IsmakeviewÇ<Return>
- ü'noopIscustom-removeÇ<Return>
- ü'STr/wIsr/wÇ<Return>
- üdirectÇ<Return>
-
- Damitwerdendie'deferredwords',diedasFileinterface
- umgestellthat,wiederaufDirektmodusumgeschaltetunddas
- Fileinterfaceselbstabgeschaltet.
-
- DasersteWortimFileinterfaceoberhalbvonSAVESYSTEMistDOS.
- DiesesWortkannmanabernichtmitFORGETvergessen,daessich
- im'geschütztenBereich'befindet.ProbierenSieesruhigaus;Sie
- erhaltendieMeldung:'DOSisprotected'.FürsolcheFälle
- gibtesdasWort(FORGET.
-
- ü'Dos>name4-(forgetsaveÇ<Return>
-
- DamithabenSieeinSystem'ohnealles'.SpeichernSieesmit
-
- üsavesystemminimal.prgÇ<Return>
-
- aufDiskettezurück.
-
- NatürlichkönnenwirunserTestfilenichtmehrmitINCLUDE
- laden,dennesgibtjakeinFileinterfacemehr.Stattdessensuchen
- wirunsdieentsprechendenBlocksimDirektzugriff.LadenSiealso
- wieder4TH.PRG,schaltenSiedasFileinterfacemit
-
- üdirectÇ
-
- ab,undgebenSieein:
-
- 1200index<Return>
-
- (200istzwarsichermehralsreichlich,aberINDEXstoppt
- sowiesoautomatischbeimletztenDisketten-oderFileblock.)Unser
- Testscreendürfteziemlichweithintenstehen,aberwirbekommen
- soauchgleicheinenÜberblicküberdenDisketteninhalt.Merken
- SiesichdieNummerndesTestscreens,undverlassenSieFORTH.
- LadenSiedannMINIMAL.PRGundkompilierenSieIhrenScreenohne
- AngabeeinesFilenamensmit<n>LOAD.
-
-
- üHerstelleneineseigenenSystems
- Ç
- DasFile4TH.PRGistalsArbeitsversiongedacht.Esenthältalle
- wichtigenSystemteilewieEditor,Printer-Interface,Tools,GEM-
- Graphic,Decompiler,Tracerusw.SollteIhnendieZusammenstellung
- nichtgefallen,könnenSiesichjederzeiteinIhrenspeziellen
- WünschenangepaßtesSystemzusammenstellen.Schlüsseldazuistder
- LoadscreenimFileSTARTUP.SCRderDisketteFiles1.Siekönnen
- dortSystemteile,dieSienichtbenötigen,mitdemBackslash'\'
- wegkommentierenoderdieentsprechendenZeilenganzlöschen.
- EbensokönnenSienatürlichdemLoadscreeneigeneFiles
- hinzufügen.
-
- EntsprichtderLoadscreenIhrenWünschen,speichernSieihnmit
- CTRL-SzurückundverlassenSiedasSystemmitüBYE.ÇLadenSienun
- FileFORTHKER.PRG.GebenSiedannein:
-
- üincludestartup.scrÇ<Return>
-
- IstdasSystemfertigkompiliert,legenSiedieSystemdisketteein
- undschreiben:
-
- üsavesystem4th.prgÇ<Return>
-
- DamitwirdIhraltesFileüberschrieben(Sicherheitskopie!!!),
- sodaßSiebeimnächstenLadenvon4TH.PRGIhreigenesSystem
- erhalten.NatürlichkönnenSie'Ihr'Systemauchuntereinem
- anderenNamenmitSAVESYSTEMabspeichern.
-
- EbensokönnenSieSystemvoreinstellungenändern.Unsere
- Arbeitsversionarbeitet-voreingestellt-neuerdingsimdezimalen
- Zahlensystem.NatürlichkönnenSiemit
-
- ühexÇ<Return>
-
- aufHexadezimalsystemumstellen;wirhaltendasfürsehrviel
- sinnvoller,weilvorallemSpeicheradressenimDezimalsystemkaum
- etwasaussagen.(OderwissenSie,obSpeicherstelle978584im
- Bildschirmspeicherliegtodernicht??)WollenSiebereits
- unmittelbarnachdemLadenimHexadezimalsystemarbeiten,können
- SiesichdiesmitSAVESYSTEM,wieobenbeschrieben,abspeichern.
-
- ImÜbrigenempfehlenwirdringenddieBenutzungdersogenannten
- Präfixe$,&und%.Manvermeidetso,daßirgendwelcheFilesnicht
- -odernochschlimmer,falsch-kompiliertwerden,weilmangerade
- imanderenZahlensystemist.Außerdemistesmöglich,hexadezimale
- unddezimaleZahlenbeliebigzukombinieren,jenachdem,was
- geradesinnvollerist.InunserenQuelltextenfindenSiegenug
- entsprechendeBeispiele.
-
- WennSienureinLaufwerkzurVerfügunghaben,solltenSieden
- voreingestelltenSuchpfad-eswirderstLaufwerkA,dannLaufwerk
- Bdurchsucht-ändern.WennnuraufLaufwerkAgesuchtwerden
- soll,gebenSiefolgendeSequenzein
-
- üpath;a:
- Ç
- undspeicherndasSystemmitSAVESYSTEMaufDiskettezurück.
-
- ü
- UmkopierendesSystemsaufdoppelseitigeDisketten
- Ç
- WennSieüberdoppelseitigeLaufwerkeverfügen,könnenSiedas
- SystemaufdoppelseitigeDiskettenumkopieren.DerVorteilliegt
- darin,daßdieVIEW-Funktionnatürlichnurdannfunktioniert,wenn
- dieentsprechendenQuelltextfilesverfügbarsind.Undaufeinoder
- zweidoppelseitigenDiskettenläßtsichschoneineReiheFileszur
- Verfügunghalten.
-
- Ebensoistesnatürlichmöglich,alleTeiledesSystemsaufeiner
- Festplatteabzulegen.SiesolltendafüreineneigenenOrdner
- einrichtenundPATHundDIRentsprechendeinstellen.
-
- AuchdieArbeitmiteinerRAM-Diskistprinzipiellmöglich,
- allerdingsnichtsehrzuempfehlen.FORTHistsehrmaschinennah
- undSystemabstürzedahervorallemzuAnfangnichtsoganz
- auszuschließen.WirempfehlenstattdessendasFileRAMDISK.SCR.
- DamitwerdensehrvieleBlockbufferimRAM-außerhalbdesFORTH-
- Systems-eingerichtet,wasdieKompilationszeitenerheblich
- beschleunigt.TrotzdemistgroßeDatensicherheitvorhanden,weil
- allegeändertenBlocksimmeraufDiskettezurückgeschrieben
- werden,wennmandenEditormitCTRL-Sverläßt.DieGefahreines
- DatenverlustesbeiSystemabsturzistsonahezuausgeschlossen.
-
-
- üAusdruckenderQuelltexte
-
- ÇSicheristessinnvoll,dieQuelltextedesSystemsauszudrucken,
- umBeispielefürdenUmgangmitvolksFORTH-83zusehen.Inzwischen
- isteingroßerTeilderQuelltextemitKommentarscreensversehen,
- was-wiewirhoffen-geradefürdenEinsteigereinegroßeHilfe
- darstellt.WelcheFilessichimEinzelnenaufIhrenDisketten
- befindenundobsieKommentarscreensenthalten,stehtimFile
- README.DOC.
-
- ZumAusdruckenderFilesgibtmanein:
-
- USE<filename>LISTING
-
- wennessichumFilesmitShadowscreenshandelt,ansonsten
-
- USE<filename>PRINTALL
-
- NähereszumDrucker-InterfacefindenSieimFilePRINTER.DOC.
-
-